﻿using Xejen.Ipc.Framework.Flows;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;

namespace Xejen.Ipc.Framework.Steps
{
    /// <summary>
    /// 表示步骤内具体执行行为
    /// </summary>
    /// <typeparam name="TData"><inheritdoc cref="IFlow{TData}" path="/typeparam[@name='TData']"/></typeparam>
    /// <creator>marc</creator>
    public interface IStepBody<TData>
        where TData : new()
    {
        /// <summary>
        /// 执行步骤
        /// </summary>
        /// <param name="context"><inheritdoc cref="IFlowExecutionContext{TData}" path="/summary"/></param>
        Task ExecuteAsync(IFlowExecutionContext<TData> context);
    }
}
